A typical digital imaging system may include an image capture device such as a digital camera or scanner, a computer attached to the digital camera for processing the digital images, and a color output device such as a printer or softcopy display attached to the computer for printing/viewing the processed digital images. A color management architecture for a digital imaging system provides a means for processing the digital images in the computer such that the output colors that are produced on the output device are reasonable reproductions of the desired input colors as captured by the input device.
One such color management architecture that is widely known and accepted in the art is defined by the International Color Consortium (ICC) in Specification ICC.1:2004-10 “Image technology colour management—Architecture, profile format, and data structure.” The ICC color management framework provides for characterizing an imaging device using a device profile such as an “ICC profile.” The ICC profile for an imaging device specifies how to convert to/from device dependent color space (DDCS) and from/to a device independent color space (DICS) so that images may be communicated from one device to another.
The ICC profile format, of course, simply provides a file format in which a color transform is stored. The color transform itself, which is typically encoded as a multidimensional look-up table, is what specifies the mathematical conversion from one color space to another. There are many tools known in the art for creating ICC profiles for a wide variety of imaging devices, including inkjet printers using CMYK colorants.
The device color gamut, in the DICS, defines the range of DICS values that are reproducible by the color imaging device. Color imaging devices with larger DICS gamuts are capable of producing a wider range of DICS values than devices with smaller DICS gamuts. The ICC color profile specification defines the range of all DICS values that may be represented in an output color profile. This range of DICS values is larger than the color gamut boundary of typical color imaging devices. As such, the regions of the DICS that are outside of the color gamut boundary of the color imaging device need to be mapped into the color gamut boundary of the output color imaging device. This process is commonly referred to in the art as color gamut mapping.
In order to perform a color gamut mapping operation in a DICS, a representation of the color imaging device's color gamut boundary is necessary. U.S. Pat. No. 5,721,572 teaches a process of generating a gamut surface descriptor (also referred to herein as a color gamut boundary) that consists of color gamut boundary points and a set of a set of triangular facets. A collection of points and triangular facets with vertices comprised of three of said points is known as a triangle mesh. One such DICS color gamut boundary 200 is shown in FIG. 1. Thus, DICS values that fall inside of this color gamut boundary are capable of being created by the output color imaging device, and DICS values that fall outside of this color gamut boundary are not capable of being created by the output color imaging device. The color gamut descriptor described by U.S. Pat. No. 5,721,572 defines the complete color gamut boundary for a three or four colorant color imaging device. In a similar fashion, a complete color gamut boundary may be computed for imaging devices having even greater numbers of colorants. The complete color gamut boundary is defined as one that encompasses all combinations of the colorants used by the output color imaging device. Thus, the complete color gamut boundary defines all possible DICS values producible by the device.
Since output color profiles are designed to accept as inputs DICS values over a larger range of values than are capable of being reproduced by the output color imaging device, a gamut mapping process is required. Many such gamut mapping processes are known in the art. One common color gamut mapping process is gamut clipping. This process involves taking an out-of-gamut DICS value and mapping it to the surface of the color imaging device gamut. Using this type of approach, all out-of-gamut DICS values will get reproduced using the DDCS values of combinations of points defined in the color gamut boundary.
As regards specific gamut mapping algorithms (GMAs), some GMAs can produce undesirable artifacts such as loss of image detail or large transitions in the mapped image. One of the simplest GMAs, minimum distance gamut mapping, can exhibit both of these artifacts. Minimum distance gamut mapping replaces an out-of-gamut color with the closest color on the surface of the destination gamut, in terms of some arbitrary distance measure. For examples of how minimum distance mapping produces these artifacts, consider the properties of a minimum Euclidean distance mapping in the presence of cusps and concave spherical patches. At a cusp, all points outside the gamut equidistant from the cusp will be mapped to the cusp, leading to a loss of detail. In the case of a concave spherical patch, relatively close points situated near the center of the ball on which the patch lies may be mapped to widely-separated points on the patch, producing a discontinuity in the mapping and in subsequent image separations.
Therefore, there remains a need for a gamut mapping algorithm that addresses the problems surrounding the shortcomings that plague existing gamut mapping techniques.